1. Field of the Invention
The present invention relates generally to computer generated images. More particularly, the present invention relates to mipmap filtering with increased efficiency and quality.
2. Background Art
Mipmapping is a common technique used to accelerate texture mapping for computer generated three-dimensional rendering applications. Such applications may include rendering for animated films and other media, or real-time rendering for videogames and other simulations. By calculating in advance a set of pre-filtered reductions or mipmaps from a high-resolution texture, a renderer can select a mipmap closely matching a resolution of a projected mapping of the texture instead of always using the original high-resolution texture. In this manner, filtering operations can operate faster on lower resolution mipmaps, shortening rendering time or increasing real-time performance, sometimes by orders-of-magnitude, with very little quality degradation.
One difficulty arising from the use of mipmaps is visual artifacting that results from the renderer filtering between mipmap transitions in a rendered scene. For example, a tiled texture on a floor or wall in perspective may appear to have abrupt changes in resolution as the renderer switches from one mipmap level to another. One way this is commonly addressed is by using trilinear interpolation or other interpolation methods that read texels from two mipmap levels, smoothly blending between the two. However, reading the texels of multiple mipmap levels may place a large I/O burden on the renderer, particularly for high-resolution textures having many mipmaps, reducing rendering efficiency.
Accordingly, there is a need to overcome the drawbacks and deficiencies in the art by finding a way to implement efficient mipmapping while maintaining high filter interpolation quality.